#ifdef __IAR_SYSTEMS_ICC
#ifndef __SMLFIFO
#include <sml_fifo.h>
#endif

extern volatile SFIFOHeader ASTAH0InFIFO, ASTAH1InFIFO, ASTAH2InFIFO;
extern volatile SFIFOHeader ASTAH0OutFIFO, ASTAH1OutFIFO, ASTAH2OutFIFO;
extern volatile unsigned char ASTAH0Flags, ASTAH1Flags, ASTAH2Flags;

extern void ASTAH0Init(unsigned short UBR, unsigned char UMCTL, unsigned short in_select);
extern void ASTAH0Xmit(void);
extern int  ASTAH0XmitChr(unsigned char ch);
extern int  ASTAH0RecvChr(void);
extern int  ASTAH0XmitStr(char *str);
extern int  ASTAH0RecvStr(char *str, unsigned short sz);
extern int  ASTAH0XmitBlk(unsigned char *buf, unsigned short sz);
extern int  ASTAH0RecvBlk(unsigned char *buf, unsigned short sz);
extern void ASTAH0Suspend(void);
extern void ASTAH0Resume(void);

extern void ASTAH1Init(unsigned short UBR, unsigned char UMCTL, unsigned short in_select);
extern void ASTAH1Xmit(void);
extern int  ASTAH1XmitChr(unsigned char ch);
extern int  ASTAH1RecvChr(void);
extern int  ASTAH1XmitStr(char *str);
extern int  ASTAH1RecvStr(char *str, unsigned short sz);
extern int  ASTAH1XmitBlk(unsigned char *buf, unsigned short sz);
extern int  ASTAH1RecvBlk(unsigned char *buf, unsigned short sz);
extern void ASTAH1Suspend(void);
extern void ASTAH1Resume(void);

extern void ASTAH2Init(unsigned short UBR, unsigned char UMCTL, unsigned short in_select);
extern void ASTAH2Xmit(void);
extern int  ASTAH2XmitChr(unsigned char ch);
extern int  ASTAH2RecvChr(void);
extern int  ASTAH2XmitStr(char *str);
extern int  ASTAH2RecvStr(char *str, unsigned short sz);
extern int  ASTAH2XmitBlk(unsigned char *buf, unsigned short sz);
extern int  ASTAH2RecvBlk(unsigned char *buf, unsigned short sz);
extern void ASTAH2Suspend(void);
extern void ASTAH2Resume(void);

#else
            EXTERN  ASTAH0InFIFO, ASTAH0OutFIFO, ASTAH0Flags
            EXTERN  ASTAH0INIT, ASTAH0INT
            EXTERN  ASTAH0Xmit, ASTAH0Xmit_NBP, ASTAH0XmitChr, ASTAH0RecvChr
            EXTERN  ASTAH0XmitStr, ASTAH0RecvStr
            EXTERN  ASTAH0XmitBlk, ASTAH0RecvBlk
            EXTERN  ASTAH0Suspend, ASTAH0Resume
            
            EXTERN  ASTAH1InFIFO, ASTAH1OutFIFO, ASTAH1Flags
            EXTERN  ASTAH1INIT, ASTAH1INT
            EXTERN  ASTAH1Xmit, ASTAH0Xmit_NBP, ASTAH1XmitChr, ASTAH1RecvChr
            EXTERN  ASTAH1XmitStr, ASTAH1RecvStr
            EXTERN  ASTAH1XmitBlk, ASTAH1RecvBlk
            EXTERN  ASTAH1Suspend, ASTAH1Resume

            EXTERN  ASTAH2InFIFO, ASTAH2OutFIFO, ASTAH2Flags
            EXTERN  ASTAH2INIT, ASTAH2INT
            EXTERN  ASTAH2Xmit, ASTAH2Xmit_NBP, ASTAH2XmitChr, ASTAH2RecvChr
            EXTERN  ASTAH2XmitStr, ASTAH2RecvStr
            EXTERN  ASTAH2XmitBlk, ASTAH2RecvBlk
            EXTERN  ASTAH2Suspend, ASTAH2Resume
            
#endif
            
